One of the features of a Graphics Processing Unit (GPU) driver, such as DirectX® driver from Microsoft® of Redmond, Wash., is inserting, into a rendering pipeline of an application, an extra visual effect that is not built into the application. Identifying a correct point or points in the rendering pipeline of the application to insert the extra visual effect is complex because it requires identifying subtle distinctions between application states and behaviors during rendering.
The current approach to identify the correct point or points in the rendering pipeline uses fixed sets of states and conditions of a GPU driver. Rendering states of the application are mapped to the fixed set of states of the driver for performing the required computations, and the transitions between the states are identified using the fixed set of conditions as the insertion point of the visual effect.
But as application rendering engines have become more complex, shortcomings to the current approach have manifested. First, as states of a rendering pipeline of an application do not match well with the fixed states of a GPU driver, this often results in the visual effect being inserted too soon or too late in the rendering pipeline. Second, the fixed set of conditions of a GPU driver is often not enough for a more complex, new application, and modifying the GPU driver to support the new application requires a substantial investment of engineering time and cost.
In view of the above shortcomings, a new and better approach to insert visual effects into an application rendering pipeline is desired.